using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FontTable")]
	public class FontTable : MonoBehaviour
	{
		public List<FontTableEntry> m_Entries => method_3<Class271<FontTableEntry>>("m_Entries")?.method_25();

		public bool m_initialized => method_2<bool>("m_initialized");

		public int m_initialDefsLoading => method_2<int>("m_initialDefsLoading");

		public FontTable(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FontTable(IntPtr address)
			: this(address, "FontTable")
		{
		}

		public static FontTable Get()
		{
			return MonoClass.smethod_15<FontTable>(TritonHs.MainAssemblyPath, "", "FontTable", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public FontDef GetFontDef(string name)
		{
			return method_15<FontDef>("GetFontDef", new Class276.Enum20[1] { Class276.Enum20.String }, new object[1] { name });
		}

		public void Reset()
		{
			method_8("Reset");
		}

		public bool IsInitialized()
		{
			return method_11<bool>("IsInitialized", Array.Empty<object>());
		}

		public void Initialize()
		{
			method_8("Initialize");
		}

		public void OnFontDefLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnFontDefLoaded", assetRef, go, callbackData);
		}

		public void OnInitialDefLoaded()
		{
			method_8("OnInitialDefLoaded");
		}

		public void FinishInitialization()
		{
			method_8("FinishInitialization");
		}

		public void FireInitializedCallbacks()
		{
			method_8("FireInitializedCallbacks");
		}

		public string GetFontDefName(string fontName)
		{
			return method_12("GetFontDefName", new Class276.Enum20[1] { Class276.Enum20.String }, fontName);
		}

		public void WillReset()
		{
			method_8("WillReset");
		}
	}
}
